package com.example.ktask9v13window;

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public static List<Integer> process(List<Integer> li) {
        List<Integer> res = new ArrayList<>();
        int imax = findMax(li);
        int imin = findMin(li);
        int t = 0;
        if(imin > imax)
        {
            t = imin;
            imin = imax;
            imax = t;
        }
        if(Math.abs(imin - imax) < 1)
            return li;
        t = imax;
        for(int i = 0; i < li.size();i++){
            if(i > imin && i < imax)
            {
                res.add(li.get(t));
                t--;
            }
            else {
                res.add(li.get(i));
            }
        }
        return res;
    }

    public static int findMax(List<Integer> li) {
        int max = 0;
        for (var i : li) {
            max = li.get(max) < i ? li.indexOf(i) : max;
        }
        return max;
    }

    public static int findMin(List<Integer> li) {
        int min = 0;
        for (int i = 0; i < li.size();i++) {
            min = li.get(i) <= li.get(min) ? i : min;
        }
        return min;
    }
}
